package com.xmtlxx.system.domain.vo;

import com.xmtlxx.common.annotation.ExcelDictFormat;
import com.xmtlxx.common.convert.ExcelDictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.xmtlxx.system.domain.SysOss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;


/**
 * 流程日志视图对象 sys_worklog
 *
 * @author xmtlxx
 * @date 2022-04-24
 */
@Data
@ApiModel("流程日志视图对象")
@ExcelIgnoreUnannotated
public class SysWorklogVo {

    private static final long serialVersionUID = 1L;

    /**
     * 日志id
     */
    @ExcelProperty(value = "日志id")
    @ApiModelProperty("日志id")
    private String logid;

    /**
     * 流程id
     */
    @ExcelProperty(value = "流程id")
    @ApiModelProperty("流程id")
    private String wid;

    /**
     * 节点id
     */
    @ExcelProperty(value = "节点id")
    @ApiModelProperty("节点id")
    private String nid;

    /**
     * 对象id
     */
    @ExcelProperty(value = "对象id")
    @ApiModelProperty("对象id")
    private String objid;

    /**
     * 节点名称
     */
    @ExcelProperty(value = "节点名称")
    @ApiModelProperty("节点名称")
    private String name;

    /**
     * 业务模块：见枚举
     */
    @ExcelProperty(value = "业务模块：见枚举", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "obj_type")
    @ApiModelProperty("业务模块：见枚举")
    private String busstype;

    /**
     * 页面路由
     */
    @ExcelProperty(value = "页面路由")
    @ApiModelProperty("页面路由")
    private String route;

    /**
     * 经办id
     */
    @ExcelProperty(value = "经办id")
    @ApiModelProperty("经办id")
    private Long operatorid;

    /**
     * 经办类型：0-用户；1-角色；2-部门
     */
    @ExcelProperty(value = "经办类型：0-用户；1-角色；2-部门")
    @ApiModelProperty("经办类型：0-用户；1-角色；2-部门")
    private String otype;

    /**
     * 经办名称
     */
    @ExcelProperty(value = "经办名称")
    @ApiModelProperty("经办名称")
    private String oname;

    /**
     * 经办人
     */
    @ExcelProperty(value = "经办人")
    @ApiModelProperty("经办人")
    private Long userId;

    /**
     * 部门id
     */
    @ExcelProperty(value = "部门id")
    @ApiModelProperty("部门id")
    private Long deptId;

    /**
     * 标题
     */
    @ExcelProperty(value = "标题")
    @ApiModelProperty("标题")
    private String title;

    /**
     * 内容
     */
    @ExcelProperty(value = "内容")
    @ApiModelProperty("内容")
    private String content;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "node_status")
    @ApiModelProperty("状态")
    private String status;

    /**
     * 前经办日志id
     */
    @ExcelProperty(value = "前经办日志id")
    @ApiModelProperty("前经办日志id")
    private String prelogid;

    /**
     * 前经办人
     */
    @ExcelProperty(value = "前经办人")
    @ApiModelProperty("前经办人")
    private Long preid;

    /**
     * 前经办节点
     */
    @ExcelProperty(value = "前经办节点")
    @ApiModelProperty("前经办节点")
    private String prenid;

    /**
     * 动作：0-驳回；1-通过；2-不通过；3-转办；
     */
    @ExcelProperty(value = "动作：0-驳回；1-通过；2-不通过；3-转办；", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "action_type")
    @ApiModelProperty("动作：0-驳回；1-通过；2-不通过；3-转办；")
    private String action;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    @ApiModelProperty("备注")
    private String memo;

    /**
     * 关联业务流程
     */
    @ExcelProperty(value = "关联业务流程")
    @ApiModelProperty("关联业务流程")
    private String pid;

    @ExcelProperty(value = "执行人")
    @ApiModelProperty("执行人")
    private String userName;

    @ApiModelProperty("转办类型")
    private String ttype;

    @ApiModelProperty("转办ID")
    private Long tid;

    @ApiModelProperty("转办名称")
    private String tname;

    private String workflow;
    private String nodeName;
    private String deptName;
    private Integer seq;
    private Date createTime;
    private Date updateTime;
    private String createBy;
    private String updateBy;
    private List<SysOperatorVo> operators;

    private String pic;

    private List<SysOss> pics;

    @ApiModelProperty("完结标识")
    private String eflag;

    private String objpic;
}
